﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Exec
{
    /* 하나의 일 단위 클래스 */
    public class Transaction
    {
        public static readonly int PRE = 0;                 // 플러그인명 인덱스
        public static readonly int CENTER = 1;              // 명령어 인덱스
        public static readonly int POST = 2;                // 인수 인덱스

        private static readonly char[] kw = { '_', ',' };        // 구분자

        string[] pk;                                        // 분활된 패키지

        public Transaction(string str)
        {
            Parsing(str);
        }

        /* 플러그인과 명령&인수 파싱 */
        public void Parsing(string str)
        {
            pk = str.Split(kw);
        }

        /* 분할된 문자열 수가 3이어야 된다. */
        public bool CheckSize()
        {
            return (pk.Length > 2)?true:false;
        }

        /* return 플러그인명 */
        public string GetPre()
        {
            return pk[PRE];
        }

        /* return 명령어 */
        public string GetCenter()
        {
            return pk[CENTER];
        }

        /* return 인수 */
        public string GetPost(int n)
        {
            return pk[POST + n];
        }
    }
}
